package com.cookiesoft.game.mapper;

import java.util.List;

import com.cookiesoft.game.domain.ZhenAccount;
import com.cookiesoft.game.domain.ZhenCategory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

/**
 * 游戏类别，存储游戏分类信息Mapper接口
 *
 * @author anc
 * @date 2024-11-05
 */
public interface ZhenCategoryMapper extends BaseMapper<ZhenCategory> {
    /**
     * 查询游戏类别，存储游戏分类信息
     *
     * @param categoryId 游戏类别，存储游戏分类信息主键
     * @return 游戏类别，存储游戏分类信息
     */
    public ZhenCategory selectZhenCategoryByCategoryId(Long categoryId);

    /**
     * 查询游戏类别，存储游戏分类信息列表
     *
     * @param zhenCategory 游戏类别，存储游戏分类信息
     * @return 游戏类别，存储游戏分类信息集合
     */
    public List<ZhenCategory> selectZhenCategoryList(ZhenCategory zhenCategory);

    /**
     * 新增游戏类别，存储游戏分类信息
     *
     * @param zhenCategory 游戏类别，存储游戏分类信息
     * @return 结果
     */
    public int insertZhenCategory(ZhenCategory zhenCategory);

    /**
     * 修改游戏类别，存储游戏分类信息
     *
     * @param zhenCategory 游戏类别，存储游戏分类信息
     * @return 结果
     */
    public int updateZhenCategory(ZhenCategory zhenCategory);

    /**
     * 删除游戏类别，存储游戏分类信息
     *
     * @param categoryId 游戏类别，存储游戏分类信息主键
     * @return 结果
     */
    public int deleteZhenCategoryByCategoryId(Long categoryId);

    /**
     * 批量删除游戏类别，存储游戏分类信息
     *
     * @param categoryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteZhenCategoryByCategoryIds(Long[] categoryIds);

    /**
     * 批量删除游戏账号，存储用户的游戏账号信息
     *
     * @param categoryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteZhenAccountByCategoryIds(Long[] categoryIds);

    /**
     * 批量新增游戏账号，存储用户的游戏账号信息
     *
     * @param zhenAccountList 游戏账号，存储用户的游戏账号信息列表
     * @return 结果
     */
    public int batchZhenAccount(List<ZhenAccount> zhenAccountList);


    /**
     * 通过游戏类别，存储游戏分类信息主键删除游戏账号，存储用户的游戏账号信息信息
     *
     * @param categoryId 游戏类别，存储游戏分类信息ID
     * @return 结果
     */
    public int deleteZhenAccountByCategoryId(Long categoryId);
}
